package com.platform.modules.sys.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.platform.modules.sys.entity.SysUserTokenEntity;

/**
 * 用户Token
 *
 * @author 肖亮
 */
public interface SysUserTokenService extends IService<SysUserTokenEntity> {

	/**
	 * 生成token
	 *
	 * @param userId
	 *            用户Id
	 * @return Map
	 */
	@Deprecated
	String createToken(String userId);

	/**
	 * 生成token
	 * @param userId
	 * @param clientId  客户端ID   WEB MOBILE
	 * @return
	 */
	String createToken(String userId, String clientId);

	/**
	 * 退出，修改token值
	 *
	 * @param token
	 */
//	void logout(String token);

	/**
	 * APP退出，修改token值
	 *
	 * @param userId 用户Id
	 * @param token 用户token
	 */
	void logout(String userId, String token);

	/**
	 * 查询一个
	 * @param params
	 * @return
	 */
	SysUserTokenEntity queryOne(Map<String, Object> params);

	/**
	 * 查询一个
	 * @param params
	 * @return
	 */
	List<SysUserTokenEntity> queryList(Map<String, Object> params);

	/**
	 * 分页查询
	 *
	 * @param params
	 *            查询参数
	 * @return Page
	 */
	Page<SysUserTokenEntity> queryPage(Map<String, Object> params);

	/**
	 * 根据主键删除
	 *
	 * @param userId
	 *            用户Id
	 */
	@Deprecated
	void delete(String userId);

	/**
	 * 批量下线用户(删除用户token记录)
	 *
	 * @param userIds
	 *            用户Ids
	 */
	@Deprecated
	void offlineBatch(String[] userIds);


}
